<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- React核心包 最先引入 提供一个对象React -->
  <script src="../../React/react.development.js"></script>
  <!-- React操作DOM的包 提供一个一个对象ReactDOM -->
  <script src="../../React/react-dom.development.js"></script>
  <!-- 引入babel的包 用来解析jsx语法为JS语法 -->
  <script src="../../React/babel.min.js"></script>
  <title>Document</title>
  <style>
    .outer {
      width: 400px;
      height: 300px;
      background-color: aqua;
    }
  </style>
</head>

<body>
  <!-- React操作的容器 -->
  <div id="app"></div>
  <script type="text/babel">
    /*jsx语法1:
                虚拟DOM中要混入js表达式,要用{},{}中只能写变量和表达式,不能书写语句
      jsx语法2:   
                指定样式的类名不要用class,必须用className,指定for属性要用htmlFor(避免和关键字冲突)
                在书写style行内样式的时候,style希望接受的是一个对象格式
                font-size-->fontSize
      jsx语法3:
                jsx中所有的元素都要闭合
                jsx语法外层必须有其只有一个外层父元素
                标签的首字母
                  如果是小写,则认为是html提供的标签
                  如果是大写,则认为是一个组件
                jsx中注释:{把注释放/中间/}
      jsx的插值语法汇总不能放对象和函数,如果要放一个数据的集合可以使用数组
                */
    const title = 'React'
    const a = true
    const hot = false
    const vDom = (
      <div className="outer">
        <h1>{console.log(title)}</h1>
        <p style={{ color: 'red', fontSize: '100px' }}>React</p>
        {/*这是一个注释*/}
        <p className={a ? 'active' : ''}>今天天气怎么说:{hot ? '晴' : '下雨'}</p>
      </div>)
    const newArr = ['迪丽热巴', '马尔扎哈', '古力娜扎', '尼古拉斯赵四']
    const sDom =
      (<ul>
        {newArr.map(item => <li>{item}</li>)}
      </ul>)
    // 创建容器并渲染虚拟DOM 固定写法
    ReactDOM.createRoot(document.getElementById('app')).render(sDom)
  </script>
</body>

</html>